<?php
class Tools_IP
{
    public static function is_taiwan ($ip)
    {
        $iIP = ip2long($ip);
        $ips = Kohana::config('ips.taiwan');
        foreach ($ips as $arr)
        {
            if ($iIP >= $arr[0] && $iIP <= $arr[1])
                return TRUE;
        }

        return FALSE;
    }
    
    //获取客户端IP
    public static function get_client_ip()
    {   
        if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
        $ip = getenv("HTTP_CLIENT_IP");
        else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
        $ip = getenv("HTTP_X_FORWARDED_FOR");
        else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
        $ip = getenv("REMOTE_ADDR");
        else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
        $ip = $_SERVER['REMOTE_ADDR'];
        else $ip = "unknown";
        if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) return 'unknown';
        return($ip);
    }
}
